package com.ztorn.fiscale.service;

import java.util.List;
import com.ztorn.fiscale.domain.FiscaleCustomsStatusHistory;

/**
 * 报关单状态历史Service接口
 * 
 * @author ztorn
 * @date 2025-01-19
 */
public interface IFiscaleCustomsStatusHistoryService 
{
    /**
     * 查询报关单状态历史
     * 
     * @param logId 报关单状态历史主键
     * @return 报关单状态历史
     */
    public FiscaleCustomsStatusHistory selectFiscaleCustomsStatusHistoryByLogId(Long logId);

    /**
     * 查询报关单状态历史列表
     * 
     * @param fiscaleCustomsStatusHistory 报关单状态历史
     * @return 报关单状态历史集合
     */
    public List<FiscaleCustomsStatusHistory> selectFiscaleCustomsStatusHistoryList(FiscaleCustomsStatusHistory fiscaleCustomsStatusHistory);

    /**
     * 新增报关单状态历史
     * 
     * @param fiscaleCustomsStatusHistory 报关单状态历史
     * @return 结果
     */
    public int insertFiscaleCustomsStatusHistory(FiscaleCustomsStatusHistory fiscaleCustomsStatusHistory);

    /**
     * 修改报关单状态历史
     * 
     * @param fiscaleCustomsStatusHistory 报关单状态历史
     * @return 结果
     */
    public int updateFiscaleCustomsStatusHistory(FiscaleCustomsStatusHistory fiscaleCustomsStatusHistory);

    /**
     * 批量删除报关单状态历史
     * 
     * @param logIds 需要删除的报关单状态历史主键集合
     * @return 结果
     */
    public int deleteFiscaleCustomsStatusHistoryByLogIds(Long[] logIds);

    /**
     * 删除报关单状态历史信息
     * 
     * @param logId 报关单状态历史主键
     * @return 结果
     */
    public int deleteFiscaleCustomsStatusHistoryByLogId(Long logId);
    
    /**
     * 根据报关单ID查询状态历史列表
     * 
     * @param declarationId 报关单ID
     * @return 报关单状态历史集合
     */
    public List<FiscaleCustomsStatusHistory> selectFiscaleCustomsStatusHistoryListByDeclarationId(Long declarationId);
}